import json
import os


# 获取当前文件的绝对路径，并定位到项目根目录
def get_project_root():
    # 获取当前工作目录
    current_dir = os.getcwd()

    # 获取当前工作目录的上级目录
    parent_dir = os.path.dirname(current_dir)

    return parent_dir


# 配置文件路径
CONFIG_FILE = os.path.join(get_project_root(), 'config', 'config.json')


# 加载配置文件
def load_config():
    try:
        # 确保文件路径正确
        if not os.path.exists(CONFIG_FILE):
            raise FileNotFoundError(f"配置文件 {CONFIG_FILE} 未找到，请检查路径！")

        with open(CONFIG_FILE, "r", encoding="utf-8") as f:
            config = json.load(f)
        return config
    except FileNotFoundError:
        raise FileNotFoundError(f"配置文件 {CONFIG_FILE} 未找到，请检查路径！")
    except json.JSONDecodeError:
        raise ValueError(f"配置文件 {CONFIG_FILE} 格式错误，请检查内容！")


# 加载配置
config = load_config()

# 提取配置项
WATCHED_DIR = config.get("watched_dir", os.getenv("WATCHED_DIR", ""))
OUTPUT_DIR = config.get("output_dir", os.getenv("OUTPUT_DIR", ""))
LOG_FILE = config.get("log_file", os.getenv("LOG_FILE", ""))